package cn.madis.FallbackFactory;

import cn.madis.domain.User;
import cn.madis.feign.UserFeignClient;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;

/**
* @Description: 托底类
* @Author: Mr.She
* @Version: 1.0
* @Date:
*/
@Component
public class UserFeignClientFallbackFactory implements FallbackFactory<UserFeignClient> {
    //拖地方法 ： throwable，异常
    @Override
    public UserFeignClient create(Throwable throwable) {
        return new UserFeignClient() {
            @Override
            public User getUser(Long id) {
                //把异常信息打印到控制台
                throwable.printStackTrace();
                //真正拖地方法 ， 这里的数据是托底数据
                return User.builder().intro("系统繁忙").build();
            }
        };
    }
}
